package com.stm.bi.service;

import com.stm.framework.dto.Response;
import com.stm.bi.dto.query.ProductMaterialQry;
import com.stm.bi.dto.vo.*;
import com.stm.bi.report.ReportQueryExe;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author chenyingjun
 * @Desc
 * @Date 2024/3/27 10:12
 */
@Service
public class ReportService {

    @Resource
    private ReportQueryExe reportQueryExe;


/*    public Response<DimensionChartVO> queryChart(ReportQry reportQry){
        return AbsChartQueryExe.exeQuery(reportQry);
    }

    public Response<DimensionChartVO> queryDetailChart(ReportQry reportQry) {
        return AbsDetailChartQueryExe.exeQuery(reportQry);
    }

    public Response<DimensionTableDataVO> queryTable(ReportQry reportQry){
        return AbsDatatableQueryExe.exeQuery(reportQry);
    }

    public Response export(HttpServletResponse response, ReportQry reportQry) {
        return reportQueryExe.export(response, reportQry);
    }*/


    public Response<MaterialTableDataVO> materialApply(ProductMaterialQry productMaterialQry) {
        return reportQueryExe.materialApply(productMaterialQry);
    }
    public Response<List<ValueVO>> materialCategoryList() {
        return reportQueryExe.materialCategoryList();
    }

    public Response<List<ValueVO>> materialList(ProductMaterialQry productMaterialQry) {
        return reportQueryExe.materialList(productMaterialQry);
    }

    public Response<MaterialTableDataVO> styleDetail(ProductMaterialQry productMaterialQry) {
        return reportQueryExe.styleDetail(productMaterialQry);
    }
    public Response<MaterialTableDataVO> materialDetail(ProductMaterialQry productMaterialQry) {
        return reportQueryExe.materialDetail(productMaterialQry);
    }

    public Response<MaterialTableDataVO> utilizationEfficiency(ProductMaterialQry productMaterialQry) {
        return reportQueryExe.utilizationEfficiency(productMaterialQry);
    }

    public Response<MaterialTableDataVO> utilizationEfficiencyDetail(ProductMaterialQry productMaterialQry) {
        return reportQueryExe.utilizationEfficiencyDetail(productMaterialQry);
    }

    public Response<UtilizationEfficiencyChartVO> utilizationEfficiencyChart(ProductMaterialQry productMaterialQry) {
        return reportQueryExe.utilizationEfficiencyChart(productMaterialQry);
    }

    public Response<MaterialTableDataVO> utilizationEfficiencyExport(HttpServletResponse response, ProductMaterialQry productMaterialQry) {
        return reportQueryExe.utilizationEfficiencyExport(response, productMaterialQry);
    }

    public Response<MaterialTableDataVO> materialApplyExport(HttpServletResponse response,ProductMaterialQry productMaterialQry) {
        return reportQueryExe.materialApplyExport(response,productMaterialQry);
    }

    public Response<MaterialTableDataVO> styleDetailExport(HttpServletResponse response, ProductMaterialQry productMaterialQry) {
        return reportQueryExe.styleDetailExport(response, productMaterialQry);
    }

    public Response<MaterialTableDataVO> materialDetailExport(HttpServletResponse response, ProductMaterialQry productMaterialQry) {
        return reportQueryExe.materialDetailExport(response, productMaterialQry);
    }

    public Response<MaterialTableDataVO> utilizationEfficiencyDetailExport(HttpServletResponse response, ProductMaterialQry productMaterialQry) {
        return reportQueryExe.utilizationEfficiencyDetailExport(response, productMaterialQry);
    }
}
